home *** CD-ROM | disk | FTP | other *** search
- import java.util.Random;
- import javax.microedition.lcdui.Graphics;
-
- class Ball {
- static Random random = new Random();
- boolean dgreeChk = false;
- private static int cnt = 0;
- private int minX;
- private int minY;
- private int maxX;
- private int maxY;
- private int posX;
- private int posY;
- private int deltaX;
- private int deltaY;
- private Court court;
- private boolean outOfPlay = true;
- private boolean ballmove = false;
-
- Ball(Court var1) {
- this.court = var1;
- this.minX = 3;
- this.minY = 3;
- this.maxX = 88;
- this.maxY = 76;
- }
-
- public boolean RBallMove() {
- return this.ballmove;
- }
-
- public void SetPos(int var1) {
- this.posX = var1 + 5;
- }
-
- public boolean inPlay() {
- return this.outOfPlay ^ true;
- }
-
- public void inPlayChange() {
- this.outOfPlay = false;
- }
-
- public synchronized void move() {
- if (!this.outOfPlay && this.ballmove) {
- if (this.deltaY > 0) {
- if (this.posY >= this.maxY && this.posY <= 78 && this.court.isPaddleHit(this.posX)) {
- if (this.court.isPaddleHitEdgeR(this.posX)) {
- this.dgreeChk = true;
- if (this.deltaX < 0) {
- this.deltaX = -this.deltaX;
- }
- } else if (this.court.isPaddleHitEdgeL(this.posX)) {
- this.dgreeChk = true;
- if (this.deltaX > 0) {
- this.deltaX = -this.deltaX;
- }
- } else {
- cnt = 0;
- this.dgreeChk = false;
- }
-
- this.deltaY = -this.deltaY;
- } else if (this.posY >= 79) {
- this.outOfPlay = true;
- this.setBallMoveOff();
- boolean var1 = this.court.didntHit();
- if (var1) {
- Court.Msging = true;
- this.court.ChgMsgStatus(4);
- this.court.reStart();
- }
-
- return;
- }
- }
-
- if (this.posY >= 10 && this.posY <= 35) {
- int var3;
- if (this.deltaY > 0) {
- var3 = this.posY + 4;
- } else {
- var3 = this.posY;
- }
-
- int var2;
- if (this.deltaX > 0) {
- var2 = this.posX + 4;
- } else {
- var2 = this.posX + 1;
- }
-
- if (this.court.isBlockHit(var2, var3)) {
- if (this.court.isBlockHitEdge(this.posX)) {
- this.deltaX = -this.deltaX;
- } else {
- this.deltaY = -this.deltaY;
- }
- }
- }
-
- if (this.posY <= this.minY) {
- this.deltaY = 1;
- this.posY = this.minY;
- }
-
- if (this.posX <= this.minX || this.posX >= this.maxX) {
- this.deltaX = -this.deltaX;
- }
-
- if (this.dgreeChk) {
- ++cnt;
- if (cnt % 3 != 0) {
- this.posY += this.deltaY;
- }
- } else {
- this.posY += this.deltaY;
- }
-
- this.posX += this.deltaX;
- }
- }
-
- void paint(Graphics var1) {
- if (!this.outOfPlay) {
- var1.setColor(13311);
- var1.fillArc(this.posX, this.posY, 5, 5, 0, 360);
- }
- }
-
- void putInPlay() {
- this.outOfPlay = false;
- this.posX = 46;
- this.posY = this.maxY;
- this.deltaY = 1;
- this.deltaX = random.nextInt() & 1;
- if (this.deltaX == 0) {
- this.deltaX = -1;
- }
-
- }
-
- void putInPlayAdd(int var1) {
- this.setBallMoveOn();
- this.outOfPlay = false;
- this.posX = var1 + 2;
- this.posY = this.maxY;
- this.deltaY = -1;
- this.deltaX = random.nextInt() & 1;
- if (this.deltaX == 0) {
- this.deltaX = -1;
- }
-
- }
-
- void setBallMoveOff() {
- this.ballmove = false;
- }
-
- void setBallMoveOn() {
- this.ballmove = true;
- }
-
- void takeOutOfPlay() {
- this.outOfPlay = true;
- }
- }
-